let argv = msg.suffix.match(/^\s*(\S*)\s*(.*)/);
let ans;
if(argv[1] == "show"){
    li = {}
    if(argv[2]){
        ans = "主角们的"+argv[2]+"如下——";
        for(let uid of msg.game.pls.toArray()){
            let pc = getPlayerCard(uid,msg.gid)
            let val = pc[argv[2]]
            if(val) ans += "\n" + pc.__Name+":"+val;
        }
    }
    else{
        ans = "主角们的状态如下——";
        for(let uid of msg.game.pls.toArray()){
            let pc = getPlayerCard(uid,msg.gid)
            let max_hp = Math.floor(((pc.CON || 0) + (pc.SIZ || 0))/10)
            let pp = pc.pp
            let pp_show = pp && pp!=pc.POW && (" pp:"+ pp + "/"+ pc.POW) || ""
            ans += "\n" + pc.__Name+" hp:"+(pc.HP || max_hp)+"/"+max_hp + pp_show;
        }
    }
}
else if(argv[1] == "roll"){
    li = {};
    expr = argv[2] || "1D100";
    for(let uid of msg.game.pls.toArray()){
        let pc = getPlayerCard(uid,msg.gid)
        rd = pc.rollDice(expr)
        if(rd.error){
            msg.expr = rd.expr;
            ans = "掷骰表达式{expr}不合法！";
            break;
        }
        else if(!li.length){
            li.push(rd.expr);
        }
        li.push(rd.expr, pc.__Name + ": " + rd.expansion);
    }
    msg.li = li.join("\n");
    ans = "{strTeamRoll}";
}
else ans = "{help:team}";
ans;